/**
 * Copyright 2009 - ChunMap
 * 
 * 这个文件是ChunMap项目的一部分。
 * ChunMap是开源软件。
 * 你可以自由复制、传播本项目的下载包文件，但必须保持其完整性。
 * 我们不用对使用中的风险及由此造成的损失承担任何责任。
 * 详细情况请见《ChunMap许可协议》。

 * 想了解更多有关ChunMap的信息，请访问http://code.google.com/p/chunmap/
 */
package chunmap.orm.sql;

import chunmap.orm.mapping.Table;
import chunmap.util.Function;

/**
 * @author yangjiandong
 *
 */
public interface SqlMaker {

	public void setTable(Table table);
	
	public Table getTable();
	
	public abstract Sql selectWhere(String where);

	public abstract Sql selectById(Object id);

	public abstract Sql insert(Object object);

	public abstract Sql countWhere(String count , String where);

	public abstract Sql deleteWhere(String where);

	public abstract Sql delete(Object obj);
	
	public Sql update(Object obj);
	
	public Sql updateWhere(String where ,Object obj,Function filter);

	public abstract Sql createTable();

	public abstract Sql dropTable();

}